/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Facade;

import Entity.Inserzione;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

/**
 *
 * @author Vito
 */
@Stateless
public class InserzioneFacade extends AbstractFacade<Inserzione> implements InserzioneFacadeLocal {
    @PersistenceContext(unitName = "EnterpriseApplication1-ejbPU")
    private EntityManager em;
    private Object username;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public InserzioneFacade() {
        super(Inserzione.class);
    }

    @Override
    public List findInserzioneByParameters(String tipoabitazione, String zona, String regione, String provincia, String localita, String parcheggio) {
        String query="select * from inserzione where 1=1";
        if(tipoabitazione!=null && !tipoabitazione.isEmpty())
            query+=" and tipoabitazione='"+tipoabitazione+"'";
        if(zona!=null && !zona.isEmpty())
            query+=" and zona='"+zona+"'";
        if(regione!=null && !regione.isEmpty())
            query+=" and regione='"+regione+"'";
        if(provincia!=null && !provincia.isEmpty())
            query+=" and provincia='"+provincia+"'";
        if(localita!=null && !localita.isEmpty())
            query+=" and localita='"+localita+"'";
        if(parcheggio!=null && !parcheggio.isEmpty())
            query+=" and parcheggio='"+parcheggio+"'";

        return em.createNativeQuery(query, Inserzione.class).getResultList();
    }

    @Override
        public List findInserzioneByLocatore(Integer idUtente){
            return em.createNativeQuery("select * from inserzione where locatore=#idUtente", Inserzione.class).setParameter("idUtente", idUtente).getResultList();
    }

}
